﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenExpressApp.Template;
using OpenExpressApp.MetaModel;
using Csla.Core;

namespace OpenExpressApp.Template
{
    /// <summary>
    /// Controller of IFrameTemplate
    /// </summary>
    public interface IFrameController
    {
        IFrameTemplate FrameTemplate { get; }
    }

    public interface IQueryFormViewController : IFrameController, IViewDataLoader
    {
        IViewDataLoader GetViewController(Type type);
    }

    public interface IListDetailFrameController : IFrameController, IAsyncDataContext
    {
        /// <summary>
        /// 获取当前对象
        /// coerce是否强制获取数据，不考虑本地已经获取过
        /// </summary>
        /// <param name="coerce"></param>
        void AsyncGetCurObject(bool coerce);
    }
}